class TokenList {
  TokenList({
    required this.code,
    required this.msg,
    required this.data,
  });

  final num code;
  static const String codeKey = "code";

  final String msg;
  static const String msgKey = "msg";

  final Data? data;
  static const String dataKey = "data";

  TokenList copyWith({
    num? code,
    String? msg,
    Data? data,
  }) {
    return TokenList(
      code: code ?? this.code,
      msg: msg ?? this.msg,
      data: data ?? this.data,
    );
  }

  factory TokenList.fromJson(Map<String, dynamic> json) {
    return TokenList(
      code: json["code"] ?? 0,
      msg: json["msg"] ?? "",
      data: json["data"] == null ? null : Data.fromJson(json["data"]),
    );
  }

  Map<String, dynamic> toJson() => {
        "code": code,
        "msg": msg,
        "data": data?.toJson(),
      };

  @override
  String toString() {
    return "$code, $msg, $data, ";
  }
}

class Data {
  Data({
    required this.drchenggong,
    required this.drshibai,
  });

  final List<Drchenggong> drchenggong;
  static const String drchenggongKey = "drchenggong";

  final List<Drshibai> drshibai;
  static const String drshibaiKey = "drshibai";

  Data copyWith({
    List<Drchenggong>? drchenggong,
    List<Drshibai>? drshibai,
  }) {
    return Data(
      drchenggong: drchenggong ?? this.drchenggong,
      drshibai: drshibai ?? this.drshibai,
    );
  }

  factory Data.fromJson(Map<String, dynamic> json) {
    return Data(
      drchenggong: json["drchenggong"] == null
          ? []
          : List<Drchenggong>.from(
              json["drchenggong"]!.map((x) => Drchenggong.fromJson(x))),
      drshibai: json["drshibai"] == null
          ? []
          : List<Drshibai>.from(
              json["drshibai"]!.map((x) => Drshibai.fromJson(x))),
    );
  }

  Map<String, dynamic> toJson() => {
        "drchenggong": drchenggong.map((x) => x.toJson()).toList(),
        "drshibai": drshibai.map((x) => x.toJson()).toList(),
      };

  @override
  String toString() {
    return "$drchenggong, $drshibai, ";
  }
}

class Drchenggong {
  Drchenggong({
    required this.id,
    required this.tkno,
    required this.kycs,
  });

  final int id;
  static const String idKey = "id";

  final String tkno;
  static const String tknoKey = "tkno";

  final num kycs;
  static const String kycsKey = "kycs";

  Drchenggong copyWith({
    int? id,
    String? tkno,
    num? kycs,
  }) {
    return Drchenggong(
      id: id ?? this.id,
      tkno: tkno ?? this.tkno,
      kycs: kycs ?? this.kycs,
    );
  }

  factory Drchenggong.fromJson(Map<String, dynamic> json) {
    return Drchenggong(
      id: json["id"] ?? 0,
      tkno: json["tkno"] ?? "",
      kycs: json["kycs"] ?? 0,
    );
  }

  Map<String, dynamic> toJson() => {
        "id": id,
        "tkno": tkno,
        "kycs": kycs,
      };

  @override
  String toString() {
    return "$id, $tkno, $kycs, ";
  }
}

class Drshibai {
  Drshibai({
    required this.id,
    required this.tkno,
    required this.statusname,
  });

  final int id;
  static const String idKey = "id";

  final String tkno;
  static const String tknoKey = "tkno";

  final String statusname;
  static const String statusnameKey = "statusname";

  Drshibai copyWith({
    int? id,
    String? tkno,
    String? statusname,
  }) {
    return Drshibai(
      id: id ?? this.id,
      tkno: tkno ?? this.tkno,
      statusname: statusname ?? this.statusname,
    );
  }

  factory Drshibai.fromJson(Map<String, dynamic> json) {
    return Drshibai(
      id: json["id"] ?? 0,
      tkno: json["tkno"] ?? "",
      statusname: json["statusname"] ?? "",
    );
  }

  Map<String, dynamic> toJson() => {
        "id": id,
        "tkno": tkno,
        "statusname": statusname,
      };

  @override
  String toString() {
    return "$id, $tkno, $statusname, ";
  }
}

/*
{
	"code": 1,
	"msg": "导入Token完成",
	"data": {
		"drchenggong": [
			{
				"id": 158789,
				"tkno": "sxqkg78j-g876-cxyp-31er-dq5xwfcl1s3a",
				"kycs": 2
			},
			{
				"id": 158790,
				"tkno": "mzk6lqe1-x5r6-vkke-4myl-tdtwyi38wumc",
				"kycs": 2
			},
			{
				"id": 158791,
				"tkno": "nb6pobm9-gb6f-oi1u-m7ih-gyvkoh5fd99r",
				"kycs": 2
			},
			{
				"id": 158792,
				"tkno": "6d2belc4-kvau-5lc3-pkhd-tj4h8461b2my",
				"kycs": 2
			},
			{
				"id": 158793,
				"tkno": "6nxjlah1-o4ry-tusc-8dfk-fefzxcsu321u",
				"kycs": 2
			},
			{
				"id": 158794,
				"tkno": "aruvd1dp-4don-qo1n-utfs-8l5d4kog0e0y",
				"kycs": 2
			},
			{
				"id": 158795,
				"tkno": "1bduy454-df16-ww6c-4zu9-nkm12sz553fx",
				"kycs": 2
			},
			{
				"id": 158796,
				"tkno": "pqzbth3c-0aff-5h0b-5a52-z4qu32aava4e",
				"kycs": 2
			},
			{
				"id": 158797,
				"tkno": "7w628ler-1765-dqc3-hdki-9jw6dcnkzpbp",
				"kycs": 2
			},
			{
				"id": 158798,
				"tkno": "gmi902x0-mvht-g9qq-r9nu-4hwsoit8mpba",
				"kycs": 2
			},
			{
				"id": 158799,
				"tkno": "ku8sqa3h-sr9j-eg95-yqnb-z37q2zntez0g",
				"kycs": 2
			},
			{
				"id": 158800,
				"tkno": "vuc8h5qb-ivdf-jpax-nlkq-taw6k7tvwhmq",
				"kycs": 2
			},
			{
				"id": 158801,
				"tkno": "9u1ljvkb-kwaw-2k0o-9967-p7w53azbyj5v",
				"kycs": 2
			},
			{
				"id": 158802,
				"tkno": "ayjgh08w-repy-b0nm-j3hl-lz74qc0fxrh4",
				"kycs": 2
			},
			{
				"id": 158803,
				"tkno": "61k9qyd3-1fn0-3r1a-tgmi-itm3kxff4olg",
				"kycs": 2
			},
			{
				"id": 158804,
				"tkno": "1p2dq3rd-2jzm-k7a4-xsqw-wjh1okw3n27o",
				"kycs": 2
			},
			{
				"id": 158805,
				"tkno": "qk8so8sf-v4ln-471i-jt4q-7g3bb1e4prr9",
				"kycs": 2
			},
			{
				"id": 158806,
				"tkno": "4djaxq5e-vtq3-3psd-twhi-r1z9dy6npspt",
				"kycs": 2
			},
			{
				"id": 158807,
				"tkno": "v1q5apjk-xh9y-7twa-aqb7-usf329rxymry",
				"kycs": 2
			},
			{
				"id": 158808,
				"tkno": "hyrqtr9z-c7da-itqq-qve5-4kzrkubeqvoq",
				"kycs": 2
			},
			{
				"id": 158809,
				"tkno": "5w1m14y9-u104-xsuh-6m20-pgwvt8xfc6sy",
				"kycs": 2
			},
			{
				"id": 158810,
				"tkno": "otgsxoq4-5my0-tkqm-km1x-22879z859e7y",
				"kycs": 2
			},
			{
				"id": 158811,
				"tkno": "6gcfsvmd-jwr4-oob8-vtus-w9q35kj62fez",
				"kycs": 2
			},
			{
				"id": 158812,
				"tkno": "okaeneij-l3ry-h29i-t2cc-sevd67ljvh4b",
				"kycs": 2
			},
			{
				"id": 158813,
				"tkno": "wkows8im-9ga2-rtfy-zscy-7tpxjc5oqn83",
				"kycs": 2
			},
			{
				"id": 158814,
				"tkno": "12aceolu-e9tf-v4vk-isdi-1fvmi88kutig",
				"kycs": 2
			}
		],
		"drshibai": [
			{
				"id": 158785,
				"tkno": "d2xqy2xo-ypxn-1nap-iafd-1fiep2z8cnir",
				"statusname": "该Token已没有可用次数"
			},
			{
				"id": 158786,
				"tkno": "3i71mzht-x6lv-xs67-ns5b-sqly6dtcnnzv",
				"statusname": "该Token已没有可用次数"
			},
			{
				"id": 158787,
				"tkno": "l5nt3099-dw6n-psrp-98cg-o37kuyu72dpa",
				"statusname": "该Token已没有可用次数"
			},
			{
				"id": 158788,
				"tkno": "sd3ctyst-l3lo-qym5-z4b1-66oosgujqzuy",
				"statusname": "该Token已没有可用次数"
			}
		]
	}
}*/